home *** CD-ROM | disk | FTP | other *** search
/ Erotic Games: Memory / Erotic Games: Memory.iso / mac / air_installers / AdobeAIR.exe / setup.swf / scripts / mx / styles / StyleProtoChain.as < prev    next >
Text File  |  2009-02-12  |  6KB  |  166 lines

  1. package mx.styles
  2. {
  3.    import flash.display.DisplayObject;
  4.    import mx.core.IUITextField;
  5.    import mx.core.UIComponent;
  6.    import mx.core.mx_internal;
  7.    
  8.    use namespace mx_internal;
  9.    
  10.    public class StyleProtoChain
  11.    {
  12.       
  13.       mx_internal static const VERSION:String = "3.0.0.0";
  14.        
  15.       
  16.       public function StyleProtoChain()
  17.       {
  18.          super();
  19.       }
  20.       
  21.       public static function initProtoChainForUIComponentStyleName(param1:IStyleClient) : void
  22.       {
  23.          var _loc9_:CSSStyleDeclaration = null;
  24.          var _loc2_:IStyleClient = IStyleClient(param1.styleName);
  25.          var _loc3_:DisplayObject = param1 as DisplayObject;
  26.          var _loc4_:Object;
  27.          if(!(_loc4_ = _loc2_.nonInheritingStyles) || _loc4_ == UIComponent.STYLE_UNINITIALIZED)
  28.          {
  29.             if((_loc4_ = StyleManager.stylesRoot).effects)
  30.             {
  31.                param1.registerEffects(_loc4_.effects);
  32.             }
  33.          }
  34.          var _loc5_:Object;
  35.          if(!(_loc5_ = _loc2_.inheritingStyles) || _loc5_ == UIComponent.STYLE_UNINITIALIZED)
  36.          {
  37.             _loc5_ = StyleManager.stylesRoot;
  38.          }
  39.          var _loc6_:Array;
  40.          var _loc7_:int = (_loc6_ = param1.getClassStyleDeclarations()).length;
  41.          if(_loc2_ is StyleProxy)
  42.          {
  43.             if(_loc7_ == 0)
  44.             {
  45.                _loc4_ = addProperties(_loc4_,_loc2_,false);
  46.             }
  47.             _loc3_ = StyleProxy(_loc2_).source as DisplayObject;
  48.          }
  49.          var _loc8_:int = 0;
  50.          while(_loc8_ < _loc7_)
  51.          {
  52.             _loc5_ = (_loc9_ = _loc6_[_loc8_]).addStyleToProtoChain(_loc5_,_loc3_);
  53.             _loc5_ = addProperties(_loc5_,_loc2_,true);
  54.             _loc4_ = _loc9_.addStyleToProtoChain(_loc4_,_loc3_);
  55.             _loc4_ = addProperties(_loc4_,_loc2_,false);
  56.             if(_loc9_.effects)
  57.             {
  58.                param1.registerEffects(_loc9_.effects);
  59.             }
  60.             _loc8_++;
  61.          }
  62.          param1.inheritingStyles = !!param1.styleDeclaration ? param1.styleDeclaration.addStyleToProtoChain(_loc5_,_loc3_) : _loc5_;
  63.          param1.nonInheritingStyles = !!param1.styleDeclaration ? param1.styleDeclaration.addStyleToProtoChain(_loc4_,_loc3_) : _loc4_;
  64.       }
  65.       
  66.       private static function addProperties(param1:Object, param2:IStyleClient, param3:Boolean) : Object
  67.       {
  68.          var _loc11_:CSSStyleDeclaration = null;
  69.          var _loc12_:CSSStyleDeclaration = null;
  70.          var _loc4_:Object = param2 is StyleProxy && !param3 ? StyleProxy(param2).filterMap : null;
  71.          var _loc5_:IStyleClient = param2;
  72.          while(_loc5_ is StyleProxy)
  73.          {
  74.             _loc5_ = StyleProxy(_loc5_).source;
  75.          }
  76.          var _loc6_:DisplayObject = _loc5_ as DisplayObject;
  77.          var _loc7_:Array;
  78.          var _loc8_:int = (_loc7_ = param2.getClassStyleDeclarations()).length;
  79.          var _loc9_:int = 0;
  80.          while(_loc9_ < _loc8_)
  81.          {
  82.             param1 = (_loc11_ = _loc7_[_loc9_]).addStyleToProtoChain(param1,_loc6_,_loc4_);
  83.             if(_loc11_.effects)
  84.             {
  85.                param2.registerEffects(_loc11_.effects);
  86.             }
  87.             _loc9_++;
  88.          }
  89.          var _loc10_:Object;
  90.          if(_loc10_ = param2.styleName)
  91.          {
  92.             if(typeof _loc10_ == "object")
  93.             {
  94.                if(_loc10_ is CSSStyleDeclaration)
  95.                {
  96.                   _loc12_ = CSSStyleDeclaration(_loc10_);
  97.                }
  98.                else
  99.                {
  100.                   param1 = addProperties(param1,IStyleClient(_loc10_),param3);
  101.                }
  102.             }
  103.             else
  104.             {
  105.                _loc12_ = StyleManager.getStyleDeclaration("." + _loc10_);
  106.             }
  107.             if(_loc12_)
  108.             {
  109.                param1 = _loc12_.addStyleToProtoChain(param1,_loc6_,_loc4_);
  110.                if(_loc12_.effects)
  111.                {
  112.                   param2.registerEffects(_loc12_.effects);
  113.                }
  114.             }
  115.          }
  116.          if(param2.styleDeclaration)
  117.          {
  118.             param1 = param2.styleDeclaration.addStyleToProtoChain(param1,_loc6_,_loc4_);
  119.          }
  120.          return param1;
  121.       }
  122.       
  123.       public static function initTextField(param1:IUITextField) : void
  124.       {
  125.          var _loc3_:CSSStyleDeclaration = null;
  126.          var _loc2_:Object = param1.styleName;
  127.          if(_loc2_)
  128.          {
  129.             if(typeof _loc2_ == "object")
  130.             {
  131.                if(!(_loc2_ is CSSStyleDeclaration))
  132.                {
  133.                   if(_loc2_ is StyleProxy)
  134.                   {
  135.                      param1.inheritingStyles = IStyleClient(_loc2_).inheritingStyles;
  136.                      param1.nonInheritingStyles = addProperties(StyleManager.stylesRoot,IStyleClient(_loc2_),false);
  137.                      return;
  138.                   }
  139.                   param1.inheritingStyles = IStyleClient(_loc2_).inheritingStyles;
  140.                   param1.nonInheritingStyles = IStyleClient(_loc2_).nonInheritingStyles;
  141.                   return;
  142.                }
  143.                _loc3_ = CSSStyleDeclaration(_loc2_);
  144.             }
  145.             else
  146.             {
  147.                _loc3_ = StyleManager.getStyleDeclaration("." + _loc2_);
  148.             }
  149.          }
  150.          var _loc4_:Object = IStyleClient(param1.parent).inheritingStyles;
  151.          var _loc5_:Object = StyleManager.stylesRoot;
  152.          if(!_loc4_)
  153.          {
  154.             _loc4_ = StyleManager.stylesRoot;
  155.          }
  156.          if(_loc3_)
  157.          {
  158.             _loc4_ = _loc3_.addStyleToProtoChain(_loc4_,DisplayObject(param1));
  159.             _loc5_ = _loc3_.addStyleToProtoChain(_loc5_,DisplayObject(param1));
  160.          }
  161.          param1.inheritingStyles = _loc4_;
  162.          param1.nonInheritingStyles = _loc5_;
  163.       }
  164.    }
  165. }
  166.